package org.raymond.iworks.study.basic.designpattern.visitor.media2;

import java.util.List;

/**
 * @author raymond
 * @version V1.0
 * @Description: TODO
 */
public class App {
    public static void main(String[] args) {
        Extractor extractor = new Extractor();
        List<MediaFile> mediaFileList = List.of(
                new Picture("a.jpg"),
                new Picture("b.jpg"),
                new Gif("c.gif"),
                new Video("d.mp4"),
                new Video("e.avi")
        );
        for(MediaFile media : mediaFileList){
            // 简版访问者模式
            // 存在的问题:每对媒体文件新增一种功能操作,如给媒体文件添加水印,就得新增一个抽象方法
            media.accept(extractor);
        }
    }
}
